package tarena.netctoss.dao;

import java.util.List;

import tarena.netctoss.po.User;

/**
 * 用户帐务管理模块 对数据库访问层
 * 
 * @author Wangpeihu
 * @team [Never give up]
 * @since JDK1.6(建议)
 * @date 2010-3-5
 */
public interface UserDao {
	/**
	 * 保存用户
	 * 
	 * @param pricing
	 */
	void save(User user);

	/**
	 * 删除用户
	 * 
	 * @param User
	 */
	void delete(User user);

	/**
	 * 更新
	 * 
	 * @param User
	 */
	void update(User user);

	/**
	 * 根据ID查找
	 * 
	 * @param id
	 * @return
	 */
	User findById(Integer id);

	/**
	 * 查找所有<br>
	 * 无条件
	 * 
	 * @return
	 */
	List<User> findAll();

	/**
	 * 根据指定的条件查询
	 * 
	 * @param userCondition
	 *            (帐务条件)
	 * @param page
	 *            (分页条件)
	 * @return
	 */
	List<User> findAll(UserCondition userCondition, Pagination page);

	/**
	 * 根据指定的条件查询
	 * 
	 * @param userCondition
	 *            (帐务条件)
	 * @return
	 */
	List<User> findAll(UserCondition userCondition);

	/**
	 * 加载最大页号
	 * 
	 * @param page
	 *            (分页条件)
	 * @param pc
	 *            (资费范围条件)
	 */
	void loadMaxPage(Pagination page, UserCondition userCondition);

}
